In computing, “object storage” is a data storage model that manages data in the form of containers referred to as objects, rather than in the form of files (as in file storage) or in the form of blocks (as in block storage). “Cloud/object storage” is an implementation of object storage that maintains these objects on servers that are accessible via the Internet. Examples of commercially-available cloud/object storage services include Amazon's Simple Storage Service (S3) and Google Cloud Storage.
Cloud/object storage generally offers high scalability, high durability, and relatively low cost per unit of storage capacity, which makes it an attractive solution for companies seeking to archive large volumes of data for long-term backup and recovery purposes. However, there are a number of complexities that make it difficult to use existing cloud/object storage services as a backup target. First, many existing cloud/object storage services can only guarantee eventual consistency to clients, which means that if an update is made to a given object, all subsequent client accesses to that object will eventually, but not necessarily immediately, return the object's updated value. Some cloud/object storage services mitigate this by guaranteeing read-after-write consistency for newly created objects. But, without a stronger consistency model that also guarantees read-after-write consistency for modified objects, it is difficult to build a data backup/restore system that ensures clients have a consistent view of the archived data.
Second, the network bandwidth between a company's on-premise (i.e., internal) systems and cloud/object storage is usually limited due to the need to traverse the Internet. Similarly, the latency from on-premise equipment to cloud/object storage is relatively high, and network timeouts or other network issues can be prevalent. These factors increase the costs of writing a large number of objects per backup task and can cause write throttling to occur.
Third, existing cloud/object storage services generally do not support object locking or any other mechanism to synchronize concurrent access to an object by multiple clients. This can complicate the implementation of certain archive management operations like delete and restore.
Fourth, many cloud/object storage services support automated data migration and replication features such as glacier tiering and cross-region replication. While these features add value for customers, they can also cause consistency issues when using the services as a backup target that need to be accounted for.